#include <bits/stdc++.h>
// 2025/02/04
// tag: 
// Author: Zhang Muen
using namespace std;

string s;
int n;
set<pair<int, int>> hayek;

int to_int(const int& l, const int& r){
    int ans = 0;
    for (int i = l; i <= r; i++)
        if (ans <= n)
            ans = ans * 10 + (s[i] - '0');
        else
            return -1;
    return ans;
}

signed main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cin >> s >> n;
    int cnt = 0;
    queue<pair<int, int>> q;
    q.push({0, 0}),hayek.insert({0, 0});
    while (!q.empty()){
        int SIZE = q.size();
        for (int i = 0; i < SIZE; i++){
            auto tmp = q.front();
            q.pop();
            if (tmp.first == s.size() && tmp.second == n){
                cout << cnt - 1 << endl;
                return 0;
            }
            for (int j = tmp.first; j < s.size(); j++){
                int num = to_int(tmp.first, j) + tmp.second;
                if (num == -1 || num > n)
                    break;
                if (hayek.find({j + 1, num}) == hayek.end())
                    q.push({j + 1, num}), hayek.insert({j + 1, num});
            }
        }
        cnt++;
    }
    cout << -1 << endl;
    return 0;
}